﻿using System;

namespace engenious
{
    public enum PixelFormat
    {
        UnsignedShort = 5123,
        UnsignedInt = 5125,
        ColorIndex = 6400,
        StencilIndex,
        DepthComponent,
        Red,
        RedExt = 6403,
        Green,
        Blue,
        Alpha,
        Rgb,
        Rgba,
        Luminance,
        LuminanceAlpha,
        AbgrExt = 32768,
        CmykExt = 32780,
        CmykaExt,
        Bgr = 32992,
        Bgra,
        Ycrcb422Sgix = 33211,
        Ycrcb444Sgix,
        Rg = 33319,
        RgInteger,
        R5G6B5IccSgix = 33894,
        R5G6B5A8IccSgix,
        Alpha16IccSgix,
        Luminance16IccSgix,
        Luminance16Alpha8IccSgix = 33899,
        DepthStencil = 34041,
        RedInteger = 36244,
        GreenInteger,
        BlueInteger,
        AlphaInteger,
        RgbInteger,
        RgbaInteger,
        BgrInteger,
        BgraInteger
    }

    public enum PixelInternalFormat
    {
        DepthComponent = 6402,
        Alpha = 6406,
        Rgb,
        Rgba,
        Luminance,
        LuminanceAlpha,
        R3G3B2 = 10768,
        Rgb2Ext = 32846,
        Rgb4,
        Rgb5,
        Rgb8,
        Rgb10,
        Rgb12,
        Rgb16,
        Rgba2,
        Rgba4,
        Rgb5A1,
        Rgba8,
        Rgb10A2,
        Rgba12,
        Rgba16,
        DualAlpha4Sgis = 33040,
        DualAlpha8Sgis,
        DualAlpha12Sgis,
        DualAlpha16Sgis,
        DualLuminance4Sgis,
        DualLuminance8Sgis,
        DualLuminance12Sgis,
        DualLuminance16Sgis,
        DualIntensity4Sgis,
        DualIntensity8Sgis,
        DualIntensity12Sgis,
        DualIntensity16Sgis,
        DualLuminanceAlpha4Sgis,
        DualLuminanceAlpha8Sgis,
        QuadAlpha4Sgis,
        QuadAlpha8Sgis,
        QuadLuminance4Sgis,
        QuadLuminance8Sgis,
        QuadIntensity4Sgis,
        QuadIntensity8Sgis,
        DepthComponent16 = 33189,
        DepthComponent16Sgix = 33189,
        DepthComponent24,
        DepthComponent24Sgix = 33190,
        DepthComponent32,
        DepthComponent32Sgix = 33191,
        CompressedRed = 33317,
        CompressedRg,
        R8 = 33321,
        R16,
        Rg8,
        Rg16,
        R16f,
        R32f,
        Rg16f,
        Rg32f,
        R8i,
        R8ui,
        R16i,
        R16ui,
        R32i,
        R32ui,
        Rg8i,
        Rg8ui,
        Rg16i,
        Rg16ui,
        Rg32i,
        Rg32ui,
        CompressedRgbS3tcDxt1Ext = 33776,
        CompressedRgbaS3tcDxt1Ext,
        CompressedRgbaS3tcDxt3Ext,
        CompressedRgbaS3tcDxt5Ext,
        RgbIccSgix = 33888,
        RgbaIccSgix,
        AlphaIccSgix,
        LuminanceIccSgix,
        IntensityIccSgix,
        LuminanceAlphaIccSgix,
        R5G6B5IccSgix,
        R5G6B5A8IccSgix,
        Alpha16IccSgix,
        Luminance16IccSgix,
        Intensity16IccSgix,
        Luminance16Alpha8IccSgix,
        CompressedAlpha = 34025,
        CompressedLuminance,
        CompressedLuminanceAlpha,
        CompressedIntensity,
        CompressedRgb,
        CompressedRgba,
        DepthStencil = 34041,
        Rgba32f = 34836,
        Rgb32f,
        Rgba16f = 34842,
        Rgb16f,
        Depth24Stencil8 = 35056,
        R11fG11fB10f = 35898,
        Rgb9E5 = 35901,
        Srgb = 35904,
        Srgb8,
        SrgbAlpha,
        Srgb8Alpha8,
        SluminanceAlpha,
        Sluminance8Alpha8,
        Sluminance,
        Sluminance8,
        CompressedSrgb,
        CompressedSrgbAlpha,
        CompressedSluminance,
        CompressedSluminanceAlpha,
        CompressedSrgbS3tcDxt1Ext,
        CompressedSrgbAlphaS3tcDxt1Ext,
        CompressedSrgbAlphaS3tcDxt3Ext,
        CompressedSrgbAlphaS3tcDxt5Ext,
        DepthComponent32f = 36012,
        Depth32fStencil8,
        Rgba32ui = 36208,
        Rgb32ui,
        Rgba16ui = 36214,
        Rgb16ui,
        Rgba8ui = 36220,
        Rgb8ui,
        Rgba32i = 36226,
        Rgb32i,
        Rgba16i = 36232,
        Rgb16i,
        Rgba8i = 36238,
        Rgb8i,
        Float32UnsignedInt248Rev = 36269,
        CompressedRedRgtc1 = 36283,
        CompressedSignedRedRgtc1,
        CompressedRgRgtc2,
        CompressedSignedRgRgtc2,
        CompressedRgbaBptcUnorm = 36492,
        CompressedRgbBptcSignedFloat = 36494,
        CompressedRgbBptcUnsignedFloat,
        R8Snorm = 36756,
        Rg8Snorm,
        Rgb8Snorm,
        Rgba8Snorm,
        R16Snorm,
        Rg16Snorm,
        Rgb16Snorm,
        Rgba16Snorm,
        Rgb10A2ui = 36975,
        One = 1,
        Two,
        Three,
        Four,
    }
}

